package com.kolon.business.app.controller;

import java.util.HashMap;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.kolon.business.app.dao.AppDao;
import com.kolon.framework.interfaces.SimpleController;
import com.kolon.framework.util.ComUtil;
import com.kolon.framework.util.MsgUtil;

/**
 * 클라이언트 앱 (KolonApp) 최신버전 다운로드 URL을 보내주는 클래스
 * @author stone
 */
@Controller("com.kolon.business.auth.controller.AppUrlController")
public class AppUrlController implements SimpleController {

	@Resource(name="AppDaoImpl")
	private AppDao appDao;
	
	@SuppressWarnings({ "unchecked", "rawtypes" })
	@RequestMapping(value="/business/app/appUrl.do")
	public ModelAndView controller(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		
		Map map = new HashMap();
		ModelAndView modelAndView = new ModelAndView();
		String osNm = ComUtil.getMobileOS(request.getHeader("user-agent"));
		String ver = ComUtil.nullChk(request.getParameter("ver"));
		map.put("frfTp", osNm);
		// 도메인
		String url = "";
		// 서비스 조회
		Map appInfo = appDao.getMap(map);
		// 서비스 존재여부 체크 
		if (appInfo == null || appInfo.isEmpty()) {
			modelAndView.addObject("appUrl", "NOT");
		} else {
			// 아이폰
			if (osNm.equals("iPhone")) {
				url = MsgUtil.getMessage("app.iPhone.url")+MsgUtil.getMessage("domain.iis.url")+
					MsgUtil.getMessage("app.iPhone.client.path");
				modelAndView.addObject("appUrl", url+appDao.getMap(map).get("FILE_S_NM_1"));
			// 안드로이드
			} else if (osNm.equals("Android")) {
				url = MsgUtil.getMessage("domain.iis.url")+
					MsgUtil.getMessage("app.Android.client.path");
				if (!"".equals(ver)) {
					modelAndView.addObject("appUrl", url+appDao.getMap(map).get("FILE_S_NM_1"));
				} else {
					modelAndView.addObject("appUrl", url+"KolonApp1-1.apk");
				}
			}
		}
		// 구분 체크
		return modelAndView;
	}

}
